import {fromJS} from 'immutable'
import * as actionTypes from './actionTypes'

const defaultState = fromJS({// 将js对象转化为immutable对象
    topicList:[],
    articleList:[],
    recommendList:[],
    showScroll: false,
    // topicList: [
    //     {
    //         id: 1,
    //         title: '美女',
    //         imgUrl: 'https://img.tupianzj.com/uploads/allimg/202009/9999/rn21296cfc5b.jpg'
    //     },
    //     {
    //         id: 2,
    //         title: '美女',
    //         imgUrl: 'https://img.tupianzj.com/uploads/allimg/202007/9999/rn0d64a04963.jpg'
    //     },
    // ],
    // articleList: [
    //     {
    //         id: 1,
    //         title: '我是唯一有伞，仍然淋湿的人吗？',
    //         desc: '思念一个人的滋味，就象是喝了一杯冰冷的水，然后一滴一滴凝成热泪。喜欢一个人倚窗听雨，看雨丝轻舞飞扬，听雨声滴答轻响，用双手盈握飘洒的冰凉，一丝淡淡的轻愁也会柔柔浮出，就这样陶醉于一种孤独的宁静中。',
    //         imgUrl: 'https://img.tupianzj.com/uploads/allimg/202005/9999/rn25e617ecfc.jpg'
    //     },
    //     {
    //         id: 2,
    //         title: '我是唯一有伞，仍然淋湿的人吗？',
    //         desc: '思念一个人的滋味，就象是喝了一杯冰冷的水，然后一滴一滴凝成热泪。喜欢一个人倚窗听雨，看雨丝轻舞飞扬，听雨声滴答轻响，用双手盈握飘洒的冰凉，一丝淡淡的轻愁也会柔柔浮出，就这样陶醉于一种孤独的宁静中。',
    //         imgUrl: 'https://img.tupianzj.com/uploads/allimg/202005/9999/rn25e617ecfc.jpg'
    //     },
    //     {
    //         id: 3,
    //         title: '我是唯一有伞，仍然淋湿的人吗？',
    //         desc: '思念一个人的滋味，就象是喝了一杯冰冷的水，然后一滴一滴凝成热泪。喜欢一个人倚窗听雨，看雨丝轻舞飞扬，听雨声滴答轻响，用双手盈握飘洒的冰凉，一丝淡淡的轻愁也会柔柔浮出，就这样陶醉于一种孤独的宁静中。',
    //         imgUrl: 'https://img.tupianzj.com/uploads/allimg/202005/9999/rn25e617ecfc.jpg'
    //     },
    //     {
    //         id: 4,
    //         title: '我是唯一有伞，仍然淋湿的人吗？',
    //         desc: '思念一个人的滋味，就象是喝了一杯冰冷的水，然后一滴一滴凝成热泪。喜欢一个人倚窗听雨，看雨丝轻舞飞扬，听雨声滴答轻响，用双手盈握飘洒的冰凉，一丝淡淡的轻愁也会柔柔浮出，就这样陶醉于一种孤独的宁静中。',
    //         imgUrl: 'https://img.tupianzj.com/uploads/allimg/202005/9999/rn25e617ecfc.jpg'
    //     },
    //     {
    //         id: 5,
    //         title: '我是唯一有伞，仍然淋湿的人吗？',
    //         desc: '思念一个人的滋味，就象是喝了一杯冰冷的水，然后一滴一滴凝成热泪。喜欢一个人倚窗听雨，看雨丝轻舞飞扬，听雨声滴答轻响，用双手盈握飘洒的冰凉，一丝淡淡的轻愁也会柔柔浮出，就这样陶醉于一种孤独的宁静中。',
    //         imgUrl: 'https://img.tupianzj.com/uploads/allimg/202005/9999/rn25e617ecfc.jpg'
    //     }
    // ],
    // recommendList: [
    //     {
    //         id: 1,
    //         imgUrl: 'https://cdn2.jianshu.io/assets/web/banner-s-club-aa8bdf19f8cf729a759da42e4a96f366.png'
    //     },
    //     {
    //         id: 2,
    //         imgUrl: 'https://cdn2.jianshu.io/assets/web/banner-s-7-1a0222c91694a1f38e610be4bf9669be.png'
    //     },
    //     {
    //         id: 3,
    //         imgUrl: 'https://cdn2.jianshu.io/assets/web/banner-s-5-4ba25cf5041931a0ed2062828b4064cb.png'
    //     },
    //     {
    //         id: 4,
    //         imgUrl: 'https://cdn2.jianshu.io/assets/web/banner-s-6-c4d6335bfd688f2ca1115b42b04c28a7.png'
    //     },
    // ],
});

// reducer处理state时候不能对原始的state修改，可是写着很容易失误对原始的state修改，那么久可以使用immutable.js生成一个immutable对象来解决该问题
export default (state=defaultState, action) => {
    switch(action.type){
        case actionTypes.CHANGE_HOME_DATA:
            return state.merge({
                topicList: fromJS(action.topicList),
                articleList: fromJS(action.articleList),
                recommendList: fromJS(action.recommendList),
            });
        case actionTypes.ADD_ARTICLE_LIST:
            return state.set('articleList', state.get('articleList').concat(action.list));
               // state.set('topicList', fromJS(action.topicList));
            // console.log(action);
        case actionTypes.TOGGLE_SCROLL_TOP:
            return state.set('showScroll', action.show);
        default:
            return state;
    }
}